A Transformational Approach for Proving Properties of the CHR Constraint Store
نویسندگان
چکیده
Proving termination of, or generating efficient control for Constraint Handling Rules (CHR) programs requires information about the kinds of constraints that can show up in the CHR constraint store. In contrast to Logic Programming (LP), there are not many tools available for deriving such information for CHR. Hence, instead of building analyses for CHR from scratch, we define a transformation from CHR to Prolog and reuse existing analysis tools for Prolog. The proposed transformation has been implemented and combined with PolyTypes 1.3, a type analyser for Prolog, resulting in an accurate description of the types of CHR programs. Moreover, the transformation is not limited to type analysis. It can also be used to prove other properties of the constraints showing up in constraint stores, using tools for Prolog.
منابع مشابه
Proving termination of CHR in Prolog: A transformational approach
In this paper we present a termination preserving transformation from Constraint Handling Rules to Prolog. The transformation is sound w.r.t. termination under the theoretical semantics of Constraint Handling Rules. It does not consider the presence of a propagation history. The transformation allows for the direct reuse of termination proof methods from Logic Programs and Term-Rewrite Systems,...
متن کاملCHR for XSB
XSB is a highly declarative programming system consisting of Prolog extended with tabled resolution. It is useful for many tasks, some of which require constraint solving. Thus flexible and high level support for constraint systems is required. Constraint Handling Rules is exactly such a high level language embedded in Prolog for writing application tailored constraint solvers. In this paper we...
متن کاملCHR Exhaustive Execution - Revisited
Constraint Handling Rules (CHR) apply guarded rules to rewrite constraints in a constraint store, until a final state is reached in which no more rules are applicable. The rules cannot be retracted, therefore CHR does not backtrack over alternatives. In this paper, a novel source-to-source transformation is proposed, which transforms any given CHR program to one that backtracks over all possibl...
متن کاملA new approach to termination analysis of CHR
We present a new approach to termination analysis of Constraint Handling Rules (CHR). Unlike current approaches, our approach has no restrictions on the kind of rules in the CHR program. We propose a termination condition that verifies conditions imposed on the dynamic process of adding constraints to the store, instead of a termination argument based on the comparison of sizes of consecutive c...
متن کاملChr and Harrop Formulas: Entailment, Universal Constraints, Cooperation of Solvers
We propose an integration of Constraints Handling Rules (CHR) and Harrop formulas. Implication in goals ooers a means for dynamically loading CHR rules, and for augmenting the constraint store. Constraints in goals are checked against the current store, but do not augment the store. Universal quantiier in goals ooers a means for introducing new constrained variables. The neat eeect of this inte...
متن کامل